<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>SystemSharp: SystemSharp.Components.FU.IXILMapper Interface Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">SystemSharp
   &#160;<span id="projectnumber">0.3</span>
   </div>
   <div id="projectbrief">A system-level modeling framework for designing real-time embedded systems</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Packages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('interface_system_sharp_1_1_components_1_1_f_u_1_1_i_x_i_l_mapper.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Events</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="interface_system_sharp_1_1_components_1_1_f_u_1_1_i_x_i_l_mapper-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">SystemSharp.Components.FU.IXILMapper Interface Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Describes a service which maps XIL instructions to hardware functional units  
 <a href="interface_system_sharp_1_1_components_1_1_f_u_1_1_i_x_i_l_mapper.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for SystemSharp.Components.FU.IXILMapper:</div>
<div class="dyncontent">
 <div class="center">
  <img src="interface_system_sharp_1_1_components_1_1_f_u_1_1_i_x_i_l_mapper.png" usemap="#SystemSharp.Components.FU.IXILMapper_map" alt=""/>
  <map id="SystemSharp.Components.FU.IXILMapper_map" name="SystemSharp.Components.FU.IXILMapper_map">
<area href="class_system_sharp_1_1_assembler_1_1_x_i_l_mapper_manager.html" title="Serves as an aggregate XIL mapper. From all registered mappers, this class selects the first suitable..." alt="SystemSharp.Assembler.XILMapperManager" shape="rect" coords="415,56,820,80"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_a_l_u_x_i_l_mapper.html" title="Implements a service for mapping XIL instructions to arithmetic-logical units (i.e. instances of ALU) " alt="SystemSharp.Components.Std.ALUXILMapper" shape="rect" coords="415,112,820,136"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_b_c_u_mapper.html" title="Implements a service for mapping XIL instructions to branch control units (i.e. instances of BCU)..." alt="SystemSharp.Components.Std.BCUMapper" shape="rect" coords="415,168,820,192"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_concatenizer_x_i_l_mapper.html" title="Implements a service for mapping concatenation-kind XIL instructions to the Concatenizer. " alt="SystemSharp.Components.Std.ConcatenizerXILMapper" shape="rect" coords="415,224,820,248"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_const_loading_x_i_l_mapper.html" title="A service for mapping constant-loading XIL instructions to hardware. " alt="SystemSharp.Components.Std.ConstLoadingXILMapper" shape="rect" coords="415,280,820,304"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_fixed_abs_x_i_l_mapper.html" title="A service for mapping the &quot;abs&quot; (absolute value) XIL instruction with fixed-point arithmetic to hardw..." alt="SystemSharp.Components.Std.FixedAbsXILMapper" shape="rect" coords="415,336,820,360"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_float_neg_abs_x_i_l_mapper.html" title="A service for mapping the &quot;abs&quot; (absolute value) and &quot;neg&quot; (negation) XIL instructions with floating-..." alt="SystemSharp.Components.Std.FloatNegAbsXILMapper" shape="rect" coords="415,392,820,416"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_float_sign_as_signed_x_i_l_mapper.html" title="A service for mapping the &quot;sign&quot; (signum) XIL instruction with floating-point arithmetic to hardware..." alt="SystemSharp.Components.Std.FloatSignAsSignedXILMapper" shape="rect" coords="415,448,820,472"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_f_p_mod1_x_i_l_mapper.html" title="A service for mapping the &quot;mod2&quot; and &quot;rempow2&quot; (remainder function for constant divisors which are a ..." alt="SystemSharp.Components.Std.FPMod1XILMapper" shape="rect" coords="415,504,820,528"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_inline_b_c_u_mapper.html" title="A service for mapping XIL branching instructions (goto, brtrue, brfalse) to an inline branch control ..." alt="SystemSharp.Components.Std.InlineBCUMapper" shape="rect" coords="415,560,820,584"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_inline_concat_mapper.html" title="A service for mapping the &quot;concat&quot; (bit-vector concatenation) XIL instruction to hardware. The service does not instantiate any extra component. Instead, the necessary code is directly inserted into the hosting component. It is supported to concatenate arbitrarily many signals with different bit-widths. " alt="SystemSharp.Components.Std.InlineConcatMapper" shape="rect" coords="415,616,820,640"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_inline_field_mapper.html" title="A service for mapping XIL instructions which perform read/write accesses on fields to hardware..." alt="SystemSharp.Components.Std.InlineFieldMapper" shape="rect" coords="415,672,820,696"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_inline_memory_mapper.html" title="A service for mapping XIL instructions which perform array accesses to hardware. The arrays are mappe..." alt="SystemSharp.Components.Std.InlineMemoryMapper" shape="rect" coords="415,728,820,752"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_local_storage_unit_x_i_l_mapper.html" title="A service for mapping XIL instructions which read or write variables to hardware. ..." alt="SystemSharp.Components.Std.LocalStorageUnitXILMapper" shape="rect" coords="415,784,820,808"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_m_u_x2_mapper.html" title="A service for mapping the &quot;select&quot; XIL instruction to hardware. " alt="SystemSharp.Components.Std.MUX2Mapper" shape="rect" coords="415,840,820,864"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_nop_mapper.html" title="A service for mapping the &quot;nop&quot; XIL instruction to hardware. " alt="SystemSharp.Components.Std.NopMapper" shape="rect" coords="415,896,820,920"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_port_reader_x_i_l_mapper.html" title="A service for mapping the &quot;rdport&quot; XIL instruction to hardware. " alt="SystemSharp.Components.Std.PortReaderXILMapper" shape="rect" coords="415,952,820,976"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_port_writer_x_i_l_mapper.html" title="A service for mapping the &quot;wrport&quot; XIL instruction to hardware. " alt="SystemSharp.Components.Std.PortWriterXILMapper" shape="rect" coords="415,1008,820,1032"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_shifter_x_i_l_mapper.html" title="A service for mapping XIL instructions performing logical shifts to hardware. Arithmetic shifts are c..." alt="SystemSharp.Components.Std.ShifterXILMapper" shape="rect" coords="415,1064,820,1088"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_sin_cos_x_i_l_mapper.html" title="A service for mapping the scsincos (parallel sine/cosine over scaled radians) XIL instruction to hard..." alt="SystemSharp.Components.Std.SinCosXILMapper" shape="rect" coords="415,1120,820,1144"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_slicer_x_i_l_mapper.html" title="A service for mapping bit-slice XIL instructions to hardware. " alt="SystemSharp.Components.Std.SlicerXILMapper" shape="rect" coords="415,1176,820,1200"/>
<area href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_block_mem_x_i_l_mapper.html" title="Maps memory read/write instructions to Xilinx block memory. " alt="SystemSharp.Interop.Xilinx.IPCores.BlockMemXILMapper" shape="rect" coords="415,1232,820,1256"/>
<area href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_cordic_x_i_l_mapper.html" title="Maps appropriate instructions to the Xilinx CORDIC core. " alt="SystemSharp.Interop.Xilinx.IPCores.CordicXILMapper" shape="rect" coords="415,1288,820,1312"/>
<area href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_floating_point_x_i_l_mapper.html" title="Maps floating-point arithmetic operations to the Xilinx floating-point core. " alt="SystemSharp.Interop.Xilinx.IPCores.FloatingPointXILMapper" shape="rect" coords="415,1344,820,1368"/>
<area href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_adder_subtracter_x_i_l_mapper.html" title="Maps integral and fixed-point additions and subtractions to the Xilinx adder/subtracter IP core..." alt="SystemSharp.Interop.Xilinx.IPCores.XilinxAdderSubtracterXILMapper" shape="rect" coords="415,1400,820,1424"/>
<area href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_divider_x_i_l_mapper.html" title="Maps integral and fixed-point divisions to the Xilinx divider IP core. " alt="SystemSharp.Interop.Xilinx.IPCores.XilinxDividerXILMapper" shape="rect" coords="415,1456,820,1480"/>
<area href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_multiplier_x_i_l_mapper.html" title="Maps integral and fixed-point multiplications to the Xilinx multiplier IP core. " alt="SystemSharp.Interop.Xilinx.IPCores.XilinxMultiplierXILMapper" shape="rect" coords="415,1512,820,1536"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ac300310ddcb70a1de5340ff0d2db9109"><td class="memItemLeft" align="right" valign="top">IEnumerable&lt; <a class="el" href="class_system_sharp_1_1_assembler_1_1_x_i_l_instr.html">XILInstr</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_system_sharp_1_1_components_1_1_f_u_1_1_i_x_i_l_mapper.html#ac300310ddcb70a1de5340ff0d2db9109">GetSupportedInstructions</a> ()</td></tr>
<tr class="memdesc:ac300310ddcb70a1de5340ff0d2db9109"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a sequence of XIL instructions which are supported by this mapper. Only their op-codes are of importance, not their static operands.  <a href="#ac300310ddcb70a1de5340ff0d2db9109">More...</a><br/></td></tr>
<tr class="separator:ac300310ddcb70a1de5340ff0d2db9109"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71c843f3613880fc0ee17fa8e957d22a"><td class="memItemLeft" align="right" valign="top">IEnumerable&lt; <a class="el" href="interface_system_sharp_1_1_components_1_1_f_u_1_1_i_x_i_l_mapping.html">IXILMapping</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_system_sharp_1_1_components_1_1_f_u_1_1_i_x_i_l_mapper.html#a71c843f3613880fc0ee17fa8e957d22a">TryMap</a> (<a class="el" href="interface_system_sharp_1_1_components_1_1_transactions_1_1_i_transaction_site.html">ITransactionSite</a> taSite, <a class="el" href="class_system_sharp_1_1_assembler_1_1_x_i_l_instr.html">XILInstr</a> instr, <a class="el" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a>[] operandTypes, <a class="el" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a>[] resultTypes)</td></tr>
<tr class="memdesc:a71c843f3613880fc0ee17fa8e957d22a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to map XIL instruction <em>instr</em>  to transaction site <em>taSite</em> .  <a href="#a71c843f3613880fc0ee17fa8e957d22a">More...</a><br/></td></tr>
<tr class="separator:a71c843f3613880fc0ee17fa8e957d22a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a183cc52b2824e1fa89fc375a258a9ac5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interface_system_sharp_1_1_components_1_1_f_u_1_1_i_x_i_l_mapping.html">IXILMapping</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_system_sharp_1_1_components_1_1_f_u_1_1_i_x_i_l_mapper.html#a183cc52b2824e1fa89fc375a258a9ac5">TryAllocate</a> (<a class="el" href="class_system_sharp_1_1_components_1_1_component.html">Component</a> host, <a class="el" href="class_system_sharp_1_1_assembler_1_1_x_i_l_instr.html">XILInstr</a> instr, <a class="el" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a>[] operandTypes, <a class="el" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a>[] resultTypes, <a class="el" href="interface_system_sharp_1_1_synthesis_1_1_i_project.html">IProject</a> targetProject)</td></tr>
<tr class="memdesc:a183cc52b2824e1fa89fc375a258a9ac5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates a new hardware functional unit for XIL instruction <em>instr</em>  and returns a mapping to it.  <a href="#a183cc52b2824e1fa89fc375a258a9ac5">More...</a><br/></td></tr>
<tr class="separator:a183cc52b2824e1fa89fc375a258a9ac5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Describes a service which maps XIL instructions to hardware functional units </p>

<p>Definition at line <a class="el" href="_functional_components_8cs_source.html#l00184">184</a> of file <a class="el" href="_functional_components_8cs_source.html">FunctionalComponents.cs</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ac300310ddcb70a1de5340ff0d2db9109"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">IEnumerable&lt;<a class="el" href="class_system_sharp_1_1_assembler_1_1_x_i_l_instr.html">XILInstr</a>&gt; SystemSharp.Components.FU.IXILMapper.GetSupportedInstructions </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a sequence of XIL instructions which are supported by this mapper. Only their op-codes are of importance, not their static operands. </p>

<p>Implemented in <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_floating_point_x_i_l_mapper.html#ab0f71ed34cdbb5c14662b78d535c3d54">SystemSharp.Interop.Xilinx.IPCores.FloatingPointXILMapper</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_block_mem_x_i_l_mapper.html#ae8014d8151e5434464d6d0774241438b">SystemSharp.Interop.Xilinx.IPCores.BlockMemXILMapper</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_cordic_x_i_l_mapper.html#a9c85b6bab6d0766063ee83a429c09df2">SystemSharp.Interop.Xilinx.IPCores.CordicXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_a_l_u_x_i_l_mapper.html#ab94a7f78ea7a863f97c750251bd41e00">SystemSharp.Components.Std.ALUXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_sin_cos_x_i_l_mapper.html#aae2ea8c1601838366b81b0d3d403ecfe">SystemSharp.Components.Std.SinCosXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_port_writer_x_i_l_mapper.html#a6624597e33490b5fcef58101911a14be">SystemSharp.Components.Std.PortWriterXILMapper</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_divider_x_i_l_mapper.html#a31b1f7dff563dd93d6b7609cf4e77f66">SystemSharp.Interop.Xilinx.IPCores.XilinxDividerXILMapper</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_adder_subtracter_x_i_l_mapper.html#a12a32982b3dd4fdf8978f13691b0359e">SystemSharp.Interop.Xilinx.IPCores.XilinxAdderSubtracterXILMapper</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_multiplier_x_i_l_mapper.html#a21655ee63dd107dee5cd4db7f5648cd5">SystemSharp.Interop.Xilinx.IPCores.XilinxMultiplierXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_local_storage_unit_x_i_l_mapper.html#a70f9f5f8baf7be4d48508f9c1cb88122">SystemSharp.Components.Std.LocalStorageUnitXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_inline_memory_mapper.html#a780bf43b4b60b582ef10aeb7ef23628a">SystemSharp.Components.Std.InlineMemoryMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_float_neg_abs_x_i_l_mapper.html#ad3653312d2f0e86de2ddc91d4e27bcbc">SystemSharp.Components.Std.FloatNegAbsXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_inline_field_mapper.html#a88568290f5c3ef9f302b26ac4241a950">SystemSharp.Components.Std.InlineFieldMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_shifter_x_i_l_mapper.html#ad4111f892d8d77f3bcfd7f85dc1f76d4">SystemSharp.Components.Std.ShifterXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_fixed_abs_x_i_l_mapper.html#a80045248a0aa781ab01198724681b79d">SystemSharp.Components.Std.FixedAbsXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_inline_b_c_u_mapper.html#ad3aa2e41e6a548d0b5da8462559453ca">SystemSharp.Components.Std.InlineBCUMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_slicer_x_i_l_mapper.html#a06a3787c2f67424f997c9bf5186a0354">SystemSharp.Components.Std.SlicerXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_float_sign_as_signed_x_i_l_mapper.html#a6ab37e7ae4d370c9ca1b271a5f38b41f">SystemSharp.Components.Std.FloatSignAsSignedXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_port_reader_x_i_l_mapper.html#a8e1b049bab6c12305802e2f1cf308680">SystemSharp.Components.Std.PortReaderXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_f_p_mod1_x_i_l_mapper.html#a5ad969416eca898d4e714ee09f6ae340">SystemSharp.Components.Std.FPMod1XILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_m_u_x2_mapper.html#acf3aa826326dff5351c759b9cca2acc3">SystemSharp.Components.Std.MUX2Mapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_concatenizer_x_i_l_mapper.html#a086d8754a4701f1867ced1f81756e98e">SystemSharp.Components.Std.ConcatenizerXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_inline_concat_mapper.html#ab0d0dc9049e6e280e8fba3091b02a9f6">SystemSharp.Components.Std.InlineConcatMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_const_loading_x_i_l_mapper.html#a1a6ddf7a8bb4f6b5257f535eae8d1d61">SystemSharp.Components.Std.ConstLoadingXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_b_c_u_mapper.html#ad39de622eab613e6700e6f322a733ac9">SystemSharp.Components.Std.BCUMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_nop_mapper.html#ab9ea4e17203ccf213973d3826679e884">SystemSharp.Components.Std.NopMapper</a>, and <a class="el" href="class_system_sharp_1_1_assembler_1_1_x_i_l_mapper_manager.html#aae38d550aa8b0c6dfc13bc9c63b90a3c">SystemSharp.Assembler.XILMapperManager</a>.</p>

</div>
</div>
<a class="anchor" id="a183cc52b2824e1fa89fc375a258a9ac5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="interface_system_sharp_1_1_components_1_1_f_u_1_1_i_x_i_l_mapping.html">IXILMapping</a> SystemSharp.Components.FU.IXILMapper.TryAllocate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html">Component</a>&#160;</td>
          <td class="paramname"><em>host</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_system_sharp_1_1_assembler_1_1_x_i_l_instr.html">XILInstr</a>&#160;</td>
          <td class="paramname"><em>instr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a>[]&#160;</td>
          <td class="paramname"><em>operandTypes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a>[]&#160;</td>
          <td class="paramname"><em>resultTypes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interface_system_sharp_1_1_synthesis_1_1_i_project.html">IProject</a>&#160;</td>
          <td class="paramname"><em>targetProject</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Allocates a new hardware functional unit for XIL instruction <em>instr</em>  and returns a mapping to it. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">host</td><td>component instance to host the newly allocated unit</td></tr>
    <tr><td class="paramname">instr</td><td>XIL instruction to map</td></tr>
    <tr><td class="paramname">operandTypes</td><td>operand types of instruction</td></tr>
    <tr><td class="paramname">resultTypes</td><td>result types of instruction</td></tr>
    <tr><td class="paramname">targetProject</td><td>target project for code generation</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a mapping or null if instruction can't be mapped</dd></dl>

<p>Implemented in <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_floating_point_x_i_l_mapper.html#af07a479bd411121478d1e903117d5940">SystemSharp.Interop.Xilinx.IPCores.FloatingPointXILMapper</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_block_mem_x_i_l_mapper.html#aa3206234721f84bec491d7e980864c14">SystemSharp.Interop.Xilinx.IPCores.BlockMemXILMapper</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_cordic_x_i_l_mapper.html#a35d725a21deee6094e8ba0bc1bafcded">SystemSharp.Interop.Xilinx.IPCores.CordicXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_a_l_u_x_i_l_mapper.html#a6ab8493454bfc6463e59a1fcb60f39a0">SystemSharp.Components.Std.ALUXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_sin_cos_x_i_l_mapper.html#a47f500ea6151ce4224ff9e3cd00fcb19">SystemSharp.Components.Std.SinCosXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_port_writer_x_i_l_mapper.html#ad5e92e8273c87f4678156d909daf5684">SystemSharp.Components.Std.PortWriterXILMapper</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_divider_x_i_l_mapper.html#a7f33d06f434d2be24eb49e4107dccb0f">SystemSharp.Interop.Xilinx.IPCores.XilinxDividerXILMapper</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_adder_subtracter_x_i_l_mapper.html#ac9b467baa6d9ac65d1cc75460226746d">SystemSharp.Interop.Xilinx.IPCores.XilinxAdderSubtracterXILMapper</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_multiplier_x_i_l_mapper.html#a3121b85c5ee763e3554ba2e6eddfa787">SystemSharp.Interop.Xilinx.IPCores.XilinxMultiplierXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_local_storage_unit_x_i_l_mapper.html#a7b1dcc8d331c18e480d0b564d278ba1b">SystemSharp.Components.Std.LocalStorageUnitXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_inline_memory_mapper.html#a9b10ee1c4098326893303ca8001ca659">SystemSharp.Components.Std.InlineMemoryMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_slicer_x_i_l_mapper.html#ab52c3ccf3a18e2da61945ec231a979d7">SystemSharp.Components.Std.SlicerXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_float_neg_abs_x_i_l_mapper.html#a3f0262238ef822e4a47d9287a4fe0fda">SystemSharp.Components.Std.FloatNegAbsXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_inline_field_mapper.html#a41238f53936809ebb62ec1f2ad24c700">SystemSharp.Components.Std.InlineFieldMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_shifter_x_i_l_mapper.html#aab887f9a24d10ec56da351e6f7afdc48">SystemSharp.Components.Std.ShifterXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_fixed_abs_x_i_l_mapper.html#af181c01ac3149f82e4ef0c5bf8e3823c">SystemSharp.Components.Std.FixedAbsXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_inline_b_c_u_mapper.html#a287abae5439b869618f9f45805f0b04e">SystemSharp.Components.Std.InlineBCUMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_f_p_mod1_x_i_l_mapper.html#aab22177a804653f72cd03e7139dc2ffe">SystemSharp.Components.Std.FPMod1XILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_float_sign_as_signed_x_i_l_mapper.html#a7756c0e28c9b1a7d4f2d9ef363f0d3e3">SystemSharp.Components.Std.FloatSignAsSignedXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_port_reader_x_i_l_mapper.html#a4ff0c2b5f069171897e19dc52094459d">SystemSharp.Components.Std.PortReaderXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_m_u_x2_mapper.html#af6279bd55f8575a94e8968ecd392997d">SystemSharp.Components.Std.MUX2Mapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_concatenizer_x_i_l_mapper.html#ae7aee61827bb53f45042fbda5ac065cc">SystemSharp.Components.Std.ConcatenizerXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_const_loading_x_i_l_mapper.html#aecbe2667f1faa50f5810473dcc20786b">SystemSharp.Components.Std.ConstLoadingXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_b_c_u_mapper.html#ad1332de135482c13060225209d117216">SystemSharp.Components.Std.BCUMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_inline_concat_mapper.html#a0f869d4896379275b6b056bfae9ba806">SystemSharp.Components.Std.InlineConcatMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_nop_mapper.html#af6f083047238aa0c0f67c409e889fef9">SystemSharp.Components.Std.NopMapper</a>, and <a class="el" href="class_system_sharp_1_1_assembler_1_1_x_i_l_mapper_manager.html#a7f7bf8eefd7ca2fcd5a196382326888e">SystemSharp.Assembler.XILMapperManager</a>.</p>

</div>
</div>
<a class="anchor" id="a71c843f3613880fc0ee17fa8e957d22a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">IEnumerable&lt;<a class="el" href="interface_system_sharp_1_1_components_1_1_f_u_1_1_i_x_i_l_mapping.html">IXILMapping</a>&gt; SystemSharp.Components.FU.IXILMapper.TryMap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interface_system_sharp_1_1_components_1_1_transactions_1_1_i_transaction_site.html">ITransactionSite</a>&#160;</td>
          <td class="paramname"><em>taSite</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_system_sharp_1_1_assembler_1_1_x_i_l_instr.html">XILInstr</a>&#160;</td>
          <td class="paramname"><em>instr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a>[]&#160;</td>
          <td class="paramname"><em>operandTypes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a>[]&#160;</td>
          <td class="paramname"><em>resultTypes</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Tries to map XIL instruction <em>instr</em>  to transaction site <em>taSite</em> . </p>
<p>Typically, the returned sequence contains either one mapping or is empty (because instruction cannot be mapped to given transaction site). However, some commutative operations like addition and multiplication in fact allow for two mapping possibilities by swapping the operands. In those cases, both mappings should be returned. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">taSite</td><td>transaction site to carry out the mapping</td></tr>
    <tr><td class="paramname">instr</td><td>XIL instruction to map</td></tr>
    <tr><td class="paramname">operandTypes</td><td>operand types of instruction</td></tr>
    <tr><td class="paramname">resultTypes</td><td>result types of instruction</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a sequence of possible mappings, empty sequence if instruction cannot be mapped</dd></dl>

<p>Implemented in <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_floating_point_x_i_l_mapper.html#abdcceb061b48b4a8379d41f0e3a60bb8">SystemSharp.Interop.Xilinx.IPCores.FloatingPointXILMapper</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_block_mem_x_i_l_mapper.html#a9604b03e766c669b25093f0aa4d48957">SystemSharp.Interop.Xilinx.IPCores.BlockMemXILMapper</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_cordic_x_i_l_mapper.html#a81565b44f3a28200c7c6d81692614ad4">SystemSharp.Interop.Xilinx.IPCores.CordicXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_a_l_u_x_i_l_mapper.html#a7f6f98d8250373fd97dc291df4579ea0">SystemSharp.Components.Std.ALUXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_sin_cos_x_i_l_mapper.html#ad86b846ee87a8d1e210984ecdc9897e2">SystemSharp.Components.Std.SinCosXILMapper</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_divider_x_i_l_mapper.html#a9e9c7a37c01dfcf2bc35f3a42ab69dda">SystemSharp.Interop.Xilinx.IPCores.XilinxDividerXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_port_writer_x_i_l_mapper.html#a42e9b69996c30ac76293bd96b3a2d22e">SystemSharp.Components.Std.PortWriterXILMapper</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_adder_subtracter_x_i_l_mapper.html#a403982cd693a0af3d6f8ac136d50dfd4">SystemSharp.Interop.Xilinx.IPCores.XilinxAdderSubtracterXILMapper</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_multiplier_x_i_l_mapper.html#ae190510716cded174a2e2ab7196837aa">SystemSharp.Interop.Xilinx.IPCores.XilinxMultiplierXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_local_storage_unit_x_i_l_mapper.html#a521a6dff1c6229989d5aac463680f47d">SystemSharp.Components.Std.LocalStorageUnitXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_inline_memory_mapper.html#a23eea61e758251db1e58966906e4716c">SystemSharp.Components.Std.InlineMemoryMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_slicer_x_i_l_mapper.html#a8c73a6cc122d687201c54d86e438389a">SystemSharp.Components.Std.SlicerXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_float_neg_abs_x_i_l_mapper.html#a2f9b54feca8fea1840f7d1b7d6923ec8">SystemSharp.Components.Std.FloatNegAbsXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_inline_field_mapper.html#aec2abb90c572a4f5907c07d0a4bfbc7f">SystemSharp.Components.Std.InlineFieldMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_shifter_x_i_l_mapper.html#aa9a9c8b619d7109aa21b65f2028bcc5c">SystemSharp.Components.Std.ShifterXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_fixed_abs_x_i_l_mapper.html#a48adb39851bbf34b85e2266dff166fee">SystemSharp.Components.Std.FixedAbsXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_inline_b_c_u_mapper.html#a840d38e1f3a1aac6229996e819e1dc64">SystemSharp.Components.Std.InlineBCUMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_f_p_mod1_x_i_l_mapper.html#a7ea6d9d484db139799b52376d9cdb98d">SystemSharp.Components.Std.FPMod1XILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_float_sign_as_signed_x_i_l_mapper.html#a9d70dd811f9cfc5edf24a7293d91bbff">SystemSharp.Components.Std.FloatSignAsSignedXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_port_reader_x_i_l_mapper.html#a3cae92cac781b2905cf95e97c63e7f3e">SystemSharp.Components.Std.PortReaderXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_m_u_x2_mapper.html#a949891584f7bdb5d475f410094d2b2f1">SystemSharp.Components.Std.MUX2Mapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_const_loading_x_i_l_mapper.html#ae2ee37f10de7782f8f3c15e3c7aa8909">SystemSharp.Components.Std.ConstLoadingXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_concatenizer_x_i_l_mapper.html#ad0194c098b25210cd0358b12ef805e73">SystemSharp.Components.Std.ConcatenizerXILMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_inline_concat_mapper.html#a107048d629c7b0b6a69d2552360938f7">SystemSharp.Components.Std.InlineConcatMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_b_c_u_mapper.html#a23285fe66acfa98956771e9ca55f7c78">SystemSharp.Components.Std.BCUMapper</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_nop_mapper.html#afe2ac3c78e127e378a946c6c17a552b1">SystemSharp.Components.Std.NopMapper</a>, and <a class="el" href="class_system_sharp_1_1_assembler_1_1_x_i_l_mapper_manager.html#a4c0d3836f7dbf16c240a4e832ac9839d">SystemSharp.Assembler.XILMapperManager</a>.</p>

</div>
</div>
<hr/>The documentation for this interface was generated from the following file:<ul>
<li><a class="el" href="_functional_components_8cs_source.html">FunctionalComponents.cs</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespace_system_sharp.html">SystemSharp</a></li><li class="navelem"><a class="el" href="namespace_system_sharp_1_1_components.html">Components</a></li><li class="navelem"><a class="el" href="namespace_system_sharp_1_1_components_1_1_f_u.html">FU</a></li><li class="navelem"><a class="el" href="interface_system_sharp_1_1_components_1_1_f_u_1_1_i_x_i_l_mapper.html">IXILMapper</a></li>
    <li class="footer">Generated on Thu Dec 26 2013 14:22:02 for SystemSharp by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>
